package br.com.edumobi.dados.modelos;

import java.util.List;

public class Classificacao extends ObjetoGeral {

    public String nome;
    public String descricao;
    public Classificacao classificacaoSuperior;
    public List<Questao> questoes;

    public Classificacao(Long id, String nome, String descricao, Classificacao classificacaoSuperior,List<Questao> questoes) {
        super(id);
        this.nome = nome;
        this.descricao = descricao;
        this.classificacaoSuperior = classificacaoSuperior;
        this.questoes = questoes;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Classificacao)) return false;

        Classificacao classificacao = (Classificacao) o;

        if (classificacaoSuperior != null && !classificacaoSuperior.equals(classificacao.classificacaoSuperior)) return false;
        if (!descricao.equals(classificacao.descricao)) return false;
        if (!nome.equals(classificacao.nome)) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = nome.hashCode();
        result = 31 * result + descricao.hashCode();

        if (classificacaoSuperior != null) {
            result = 31 * result + classificacaoSuperior.hashCode();
        }

        return result;
    }
}
